![]() |
STM32 电机控制 SDK MCFW-6.4.1
用于构建驱动 STM32 的 PMSM 电机应用的软件开发套件
|
目录 |↦ 下一页:开始使用 Motor Control SDK
STM32 电机控制 SDK 包含以下内容:
该软件包作为可执行文件提供,可在用户电脑上安装上述所有项目。
STM32 MC SDK 依赖于 STM32Cube 和 STM32CubeMx。因此,必须安装STM32CubeMx(其最新版本)才能使用该SDK。
注意:强烈建议 STM32CubeMx 和 STM32 MC SDK 保持最新。
关于STM32CubeMx的更多信息可在 www.st.com 获取。
注意:STM32CubeMx必须至少运行一次,才能安装MC SDK。
使用 STM32 MC SDK 的 MC 软件应用设计通常从 MC WB 开始。使用该工具,用户根据电机特性、功率级、控制级及所选STM32 MCU配置MCD。
基于这些特性,MC WB 从电机控制库中选择合适的固件组件,计算其配置参数,Generate STM32CubeMx 项目文件(以下称为 IOC 文件,因其名称以 .ioc 扩展名结束),并用该项目执行 STM32CubeMx。
执行结果是Generate一个完整的软件项目,包含驱动应用程序电机所需的源代码和库。该软件项目可以直接在工作台中选择的IDE中打开。
STM32CubeMx Generate的代码配置了控制应用电机所需的所有外设,参数由 MC WB 提供。该代码还初始化了MC固件子系统,设置STM32时钟和中断处理程序,以便正确控制电机。
用户可以修改该软件项目,添加自己的代码。有关该主题的详细信息,请参阅申请说明。
在这种工作流程中,用户唯一可见的工具是 STM32 MC WB。这对于许多应用来说已经足够了。如果用户需要调校影响 STM32 MCU 配置的其他系统方面,他们可以直接使用 STM32CubeMx:他们需要在 CubeMx 中加载由 MC WB Generate的项目,然后可以修改所需内容,最后重新Generate该项目。
下图展示了MC软件应用设计的工作流程。
在此工作流程中,STM32 MC Workbench 负责计算电机控制参数并指导STM32 CubeMx如何配置所需的硬件IP,而STM32 CubeMx则用于Generate项目和硬件IP初始化代码。此外,STM32 CubeMx 还可用于配置不用于电机控制的硬件 IP。
控制阶段处于两者之间的界限。它被选中并部分配置于 STM32,MC WB 由 STM32CubeMx 管理其余配置。
STM32 MC 固件使用 Cube firmware 的低层驱动(LL)与需要访问的外设接口。这些LL驱动程序基于标准CMSIS库构建。
使用LL在性能和界面稳定性之间取得了良好的折中。
在 PMSM FOC 库的某些代码部分,出于性能原因,使用了直接访问硬件寄存器的技术。
STM32 MC 固件是 SDK 的核心。它提供了使用FOC策略控制PMSM所需的所有软件组件,并将这些组件集成到MC子系统中。它提供了一套多功能的接口,供定制应用根据需求实际驱动电机。
下图展示了 STM32 的架构,即 MC 固件。
固件由以下三个功能集组成:
Motor Control Library是一个软件组件的集合。每个组件都实现了 Motor 控制中涉及的一项功能,例如速度和位置感应、电流感应或电机控制算法。
对于某些功能,库提供了多个组件,每个组件包含不同的实现。这使得能够高效地支持各种硬件配置。随后根据用户应用的特性选择所使用的组件,并集成到电机控制固件子系统中。
注意:对于双电机应用,每个电机可能使用不同的部件来实现特定功能。
下图总结了PMSM FOC库作为组件所提供的特性。PMSM FOC库中大多数组件及其特性的列表详见第3.3节“电机控制固件组件”。
电机控制库可以驱动多种类型的电机,采用不同的驱动技术。
电机控制库可以通过磁场定向控制(FOC)驱动技术驱动PMSM或DLDC电机。FOC是驱动配备永磁铁的同步电机的最高效方法。
电机控制库还可以利用6-Step技术驱动这些电机。这种技术比FOC更简单,通常针对BLDC电机而非PMSM电机。然而,在高速驱动PMSM或BLDC电机时,它通常是最高效的选择。
如果需要以极低速度驱动PMSM电机,则使用高灵敏度观测器。这种先进的FOC驾驶技术提供了更高的电机控制精度,使得在大多数情况下无需使用速度和位置传感器。
这一尖端技术要求除了测量相电流外,还需要测量相电压。它还需要非常高的信号质量,这在所有电力电子设计中并不常见。ST提供多种板子,可作为参考设计,使客户应用能够享受HSO的优势。
电机控制库还可以驱动异步感应电机(ACIM),使用FOC或V/F技术。
UI Library或UI库包含处理电机控制固件子系统与外部世界之间通过串口或DAC通信的软件组件。该库用于允许 STM32 MC Workbench 连接应用程序,并通过其监控功能进行控制。有关此功能的更多信息,请参阅 STM32 MC Workbench 用户指南。
Motor Control Cockpit将软件组件集成到电机控制固件子系统中,并实现调节环路。它实例化、配置并接口 PMSM FOC 库中选择的固件组件,以及用户应用程序的UI Library中。Motor Control Cockpit 的代码由STM32Cube根据应用特性如上所述Generate。得益于这一代,Cockpit 代码只包含所需内容,因此易于阅读。